package com.ruoyi.wq.service.impl;

import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.wq.mapper.WqUserTuanMapper;
import com.ruoyi.wq.domain.WqTuan;
import com.ruoyi.wq.domain.WqUserTuan;
import com.ruoyi.wq.domain.vo.WqUserTuanVO;
import com.ruoyi.wq.service.IWqUserTuanService;

/**
 * 我的拼团Service业务层处理
 * 
 * @author ruoyi
 * @date 2023-08-28
 */
@Service
public class WqUserTuanServiceImpl extends ServiceImpl<WqUserTuanMapper, WqUserTuan> implements IWqUserTuanService {

    @Autowired
    private WqUserTuanMapper wqUserTuanMapper;

    /**
     * 查询我的拼团
     * 
     * @param id 我的拼团主键
     * @return 我的拼团
     */
    @Override
    public WqUserTuan selectWqUserTuanById(String id)
    {
        return wqUserTuanMapper.selectWqUserTuanById(id);
    }

    /**
     * 查询我的拼团列表
     * 
     * @param wqUserTuan 我的拼团
     * @return 我的拼团
     */
    @Override
    public List<WqUserTuan> selectWqUserTuanList(WqUserTuan wqUserTuan)
    {
        return wqUserTuanMapper.selectWqUserTuanList(wqUserTuan);
    }

    /**
     * 新增我的拼团
     * 
     * @param wqUserTuan 我的拼团
     * @return 结果
     */
    @Override
    public int insertWqUserTuan(WqUserTuan wqUserTuan)
    {
        wqUserTuan.setCreateTime(DateUtils.getNowDate());
        return wqUserTuanMapper.insertWqUserTuan(wqUserTuan);
    }

    /**
     * 修改我的拼团
     * 
     * @param wqUserTuan 我的拼团
     * @return 结果
     */
    @Override
    public int updateWqUserTuan(WqUserTuan wqUserTuan)
    {
        wqUserTuan.setUpdateTime(DateUtils.getNowDate());
        return wqUserTuanMapper.updateWqUserTuan(wqUserTuan);
    }

    /**
     * 批量删除我的拼团
     * 
     * @param ids 需要删除的我的拼团主键
     * @return 结果
     */
    @Override
    public int deleteWqUserTuanByIds(String[] ids)
    {
        return wqUserTuanMapper.deleteWqUserTuanByIds(ids);
    }

    /**
     * 删除我的拼团信息
     * 
     * @param id 我的拼团主键
     * @return 结果
     */
    @Override
    public int deleteWqUserTuanById(String id)
    {
        return wqUserTuanMapper.deleteWqUserTuanById(id);
    }

	@Override
	public void updateTuanUser(String tuanHomeId, Long userId) {
		QueryWrapper<WqUserTuan> qw = new QueryWrapper<>();
		WqUserTuan entity = new WqUserTuan();
		entity.setTuanHomeId(tuanHomeId);
		entity.setUserId(userId);
		qw.setEntity(entity);
		WqUserTuan userTuan = baseMapper.selectOne(qw);
		if(userTuan != null){
			userTuan.setStatus("1");
			baseMapper.updateById(userTuan);
		}
	}

	@Override
	public List<SysUser> getUserListByTuanHomeId(String tuanHomeId) {
		return baseMapper.getUserListByTuanHomeId(tuanHomeId);
	}

	@Override
	public List<WqUserTuanVO> getListByPage(WqTuan wqTuan) {
		List<WqUserTuanVO> list = baseMapper.getListByPage(wqTuan);
		for(WqUserTuanVO vo : list){
			vo.setImg(vo.getAvatar());
			vo.setTitle(vo.getNickName()+" 刚刚拼团了「"+vo.getTuanTag()+"」");
		}
		return list;
	}
}
